package modelo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import vista.VentanaProyecto;




public class Proyecto {
	
	//ATRIBUTOS
	private VentanaProyecto ventanaproyec;
	private Laboratorio laboratorio;
	private String nombre;
	private String codigo;
	private String tematica;
	private String resumen;
	private String palabrasclaves;
	private String antecedentes;
	private String problema;
	private String metodologia;
	private String bibliografia;
	private String estado;
	private String fecha;
	private String dia;
	private String mes;
	private String ano;
	private String grupo;
	private String status;
	private String conclusion;
	private ArrayList<Producto> resultados;
	
	
	public Proyecto(){
		this.resultados = new ArrayList<Producto>();
	}
	//CONSTRUCTOR CON PARAMETROS
	public Proyecto(String nombre, String codigo, String tematica,
			String resumen, String palabrasclaves, String antecedentes,
			String problema, String metodologia, String bibliografia,
			String estado, String dia, String mes, String ano,String grupo,String status,String conclusion) {
		super();
		this.nombre = nombre;
		this.codigo = codigo;
		this.tematica = tematica;
		this.resumen = resumen;
		this.palabrasclaves = palabrasclaves;
		this.antecedentes = antecedentes;
		this.problema = problema;
		this.metodologia = metodologia;
		this.bibliografia = bibliografia;
		this.estado = estado;
		//this.fecha = fecha;
		this.dia = dia;
		this.mes = mes;
		this.ano = ano;
		this.grupo =grupo;
		this.status = status;
		this.conclusion =conclusion;
		this.resultados = new ArrayList<Producto>();
		}

	//--------------------------------------------METODOS DEL ARRAY LIST DE PRODUCTO
	
	public void agregarResultado (Producto producto){
		
		this.resultados.add(producto); //Agrega un nuevo producto
		}
	
	public ArrayList<Producto> getResultados() {
		return this.resultados; //Retorna el vector completo de Productos
		}
	

	public int contarResultados(){
		return this.resultados.size(); //Retorna el tamano del vector de productos
	}
	
	public void setResultado(int fila,Producto producto){
		this.resultados.set(fila, producto);
		}
	
	
	public Producto getResultado(int i){
		return resultados.get(i); // Retorna la posicion I del vector de productos
		}
	
	public ArrayList<Producto> ResultadosActivos (){
		ArrayList<Producto> productosactivos= new ArrayList<Producto>();
		for(int i=0;i<contarResultados();i++){
			if ( resultados.get(i).getEstatus()=="A")
				productosactivos.add(resultados.get(i));
		      	}
		return productosactivos;
		
	}
	
	//--------------------------------------------------------SET Y GET DE DEMAS ATRIBUTOS
	
	public String getConclusion() {
		return conclusion;
	}

	public void setConclusion(String conclusion) {
		this.conclusion = conclusion;
	}

	public String getCodigo()
	{	
		return codigo;
	}
	public void setCodigo(String codigo)
	{
		this.codigo =codigo;
		
	}
	
	public String getTematica() {
		return tematica;
	}

	public void setTematica(String tematica) {
		this.tematica = tematica;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getResumen() {
		return resumen;
	}

	public void setResumen(String resumen) {
		this.resumen = resumen;
	}

	public String getPalabrasclaves() {
		return palabrasclaves;
	}

	public void setPalabrasclaves(String palabrasclaves) {
		this.palabrasclaves = palabrasclaves;
	}

	public String getProblema() {
		return problema;
	}

	public void setProblema(String problema) {
		this.problema = problema;
	}

	public String getAntecedentes() {
		return antecedentes;
	}

	public void setAntecedentes(String antecedentes) {
		this.antecedentes = antecedentes;
	}

	public String getMetodologia() {
		return metodologia;
	}

	public void setMetodologia(String metodologia) {
		this.metodologia = metodologia;
	}

	public String getBibliografia() {
		return bibliografia;
	}

	public void setBibliografia(String bibliografia) {
		this.bibliografia = bibliografia;
	}


	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getGrupo() {
		return grupo;
	}

	public void setGrupo(String codigogrupo) {
		this.grupo = grupo;
	}

	public String getAno() {
		return ano;
	}

	public void setAno(String ano) {
		this.ano = ano;
	}

	public String getMes() {
		return mes;
	}

	public void setMes(String mes) {
		this.mes = mes;
	}

	public String getFecha() {
		String f1 = dia;
		String f2 = mes;
		String f3 = ano;
		this.fecha = (""+f1+ "-"+f2+"-"+f3+"");
		return fecha;
		
	}
//Metodo que convierte la fecha STRING a fecha DATE
	
	public Date getDate(String fecha) throws ParseException{
		fecha = getFecha();
		SimpleDateFormat sdf= new SimpleDateFormat("dd-MM-yyyy"); 
		java.util.Date d =sdf.parse(fecha);
		return d; 
	}
	
	public String getDia() {
		return dia;
	}

	public void setDia(String dia) {
		this.dia = dia;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
}